From 0c66a95b41788ae5df61ef70670a86199c8ecfe7 Mon Sep 17 00:00:00 2001 From: "kaf24@scramble.cl.cam.ac.uk" Date: Fri, 17 Oct 2003 09:21:37 +0000 Subject: [PATCH] bitkeeper revision 1.527 (3f8fb4a16LPOSuutnwr8zgDB3Ws1Kw) system.h: Slightly better restore_flags in xenolinux. --- .../include/asm-xeno/system.h | 24 +++++++------------ 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/xenolinux-2.4.22-sparse/include/asm-xeno/system.h b/xenolinux-2.4.22-sparse/include/asm-xeno/system.h index 12bfe68c14..3b59252ca3 100644 --- a/xenolinux-2.4.22-sparse/include/asm-xeno/system.h +++ b/xenolinux-2.4.22-sparse/include/asm-xeno/system.h @@ -320,21 +320,6 @@ static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old, #define set_wmb(var, value) do { var = value; wmb(); } while (0) -#define __save_flags(x) \ -do { \ - (x) = test_bit(EVENTS_MASTER_ENABLE_BIT, \ - &HYPERVISOR_shared_info->events_mask); \ - barrier(); \ -} while (0) - -#define __restore_flags(x) \ -do { \ - shared_info_t *_shared = HYPERVISOR_shared_info; \ - if (x) set_bit(EVENTS_MASTER_ENABLE_BIT, &_shared->events_mask); \ - barrier(); \ - if ( unlikely(_shared->events) && (x) ) do_hypervisor_callback(NULL); \ -} while (0) - #define __cli() \ do { \ clear_bit(EVENTS_MASTER_ENABLE_BIT, &HYPERVISOR_shared_info->events_mask);\ @@ -349,6 +334,15 @@ do { \ if ( unlikely(_shared->events) ) do_hypervisor_callback(NULL); \ } while (0) +#define __save_flags(x) \ +do { \ + (x) = test_bit(EVENTS_MASTER_ENABLE_BIT, \ + &HYPERVISOR_shared_info->events_mask); \ + barrier(); \ +} while (0) + +#define __restore_flags(x) do { if (x) __sti(); } while (0) + #define safe_halt() ((void)0) #define __save_and_cli(x) do { __save_flags(x); __cli(); } while(0); -- 2.30.2